package com.nifostasky.comic.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nifostasky.comic.entitys.SysOrg;
import com.nifostasky.comic.dtos.SysOrgDTO;
import com.nifostasky.comic.utils.PageUtils;

import java.util.List;

public interface SysOrgService extends IService<SysOrg> {

    /**
     * 根据code获取详情
     * @param orgCode
     */
    SysOrgDTO findDetailByCode(String orgCode);

    /**
     * 带参分页查询
     */
    IPage<SysOrg> findListPage(PageUtils pageUtils, SysOrg sysOrg);

    /**
     * 带参不分页查询
     * @return
     */
    List<SysOrg> findList(SysOrg sysOrg);

    /**
     * 保存所属行政区域
     */
    Boolean saveOrUpdateOrg(SysOrg sysOrg);

    /**
     * 根据父级id与区域编号查询数据
     * @param parentId 父级id
     * @param orgNum 所属区域编号
     */
    SysOrg getOrgByParentIdAndOrgNum(Long parentId,Integer orgNum);

    /**
     * 根据id删除
     * @param id
     */
    Boolean deleteById(Long id);

    /**
     * 修改区域状态
     * @param id 主键id
     * @param orgStatus 1启用、2禁用
     */
    Boolean updateOrgStatusById(Long id,Integer orgStatus);

    /**
     *根据id获取子集
     */
    List<SysOrg> findChildListByOrgId(Long id);

}
